The invention relates generally to data storage systems, and in particular, to data storage systems in which data is stored on mirrored logical volumes.
Various techniques have been developed for increasing the reliability of data storage systems and to protect against failure due to data loss. One such technique is data mirroring, which involves the storage of two or more copies of the data, preferably on different storage devices. A data storage having mirrored data operates to maintain all copies up to date. Typically, there are two copies.
In a typical data storage system, each physical device, such as a disk storage device, may have a format that defines a number of units, and the units may correspond to logical volumes. Each logical volume appears to the host computer or computers to be a separate storage device and, therefore, operations take place with regard to the logical volume as if it were a physical volume. Typically, the physical devices are configured as mirrored pairs, with each physical device in the pair storing corresponding copies of logical volumes. Such a data storage system is said to employ both mirrored physical devices and mirrored logical copies.
Some logical volumes are accessed for read and/or write operations substantially more often than other logical volumes, and the nature of the operations can vary from random accesses to sequential accesses during any particular sequence of read or write operations. As a result, with larger storage devices, the risk of having concurrent jobs, each pertaining to a relatively small file (local activity) interfering with each other""s activity increases. The use of striping techniques further increases the risk. Depending upon the nature and frequency of the read and write operations to a storage device containing many logical volumes, the disk read/write heads may be severely worked and the access time can, on average, be increased if sequential read and write locations are not located near one another.
One prior solution sets a mirror service policy, statically or preferably dynamically (as described in U.S. application Ser. No. 08/936,122, filed Sep. 24, 1997, issued as U.S. Pat. No. 6,112,257 on Aug. 29, 2000, and entitled xe2x80x9cDynamic Adjustment of Mirror Service Policy for Logical Volumes in a Disk Drive System Based on Collected Statistics,xe2x80x9d the contents of which are incorporated herein, by reference), in an attempt to optimize the reading and writing of data. Such a policy may, for example, assume that most data transfers are sequential in nature, or that they are random. The policies can include, for example, interleaved, mixed, dedicated, or other policies that appear, after reviewing the manner in which a storage device is, or is to be, used, to provide the best average access time to the data.
One such policy is to only service requests that fall within the first half of a logical volume on one of a mirrored pair of physical devices and the requests to the second half of the logical volume on the other, mirrored physical device. Another policy might be to only service requests that fall in odd groups with a group being defined in terms of a number of blocks. For instance the first group (blocks 0-959) will be serviced by copy 1 and the next group by copy 2, etc. These policies, when implemented statically, are limited because the policies are chosen at system configuration time and never change. A dynamic mirror policy can substantially improve performance as the policies for the system change periodically.
Once a policy to service each logical volume is determined, the approach described in the U.S. Pat. No. 6,112,257 attempts to optimize seeks fur the logical volumes on the same physical devices. There may, however, be circumstances that require greater flexibility in configuring the physical devices for logical volumes, or it may become necessary or desirable to transfer data in a logical volume from one of the mirrored physical devices to a third device, thus destroying the mirroring at the physical device level. The existing seek optimization described in the U.S. Pat. No. 6,112,257, which is based on physical mirrors, will be ineffective in maintaining seek balances under such circumstances.
This invention relates to seek adjustment in a data storage system of physical devices having mirrored logical volumes.
In an aspect of the invention, statistics describing at least reading data from the mirrored volumes during successive time periods are collected and an activity level associated with each of the mirrored logical volumes is determined from the collected statistics. Seek activity values for each of the physical devices are then computed based on the activity levels associated with the logical volumes on the physical devices and used to minimize seek activity for non-mirrored ones of the physical devices.
Embodiments of the invention may include one or more of the following features.
The computed seek activity values computed for the physical devices may relate a physical device seek activity to the activity level associated with, and distance between, the mirrored logical volumes residing the physical devices.
The computed seek activity values may be used to minimize seek activity for non-mirrored ones of the physical devices in the following manner. A sum of the computed seek activity values is computed. At least one simulated mirror policy change based on the computed sum of the computed seek activity values is performed. The sum of the computed seek activity values are recomputed using the results of the at least one mirror policy change. If the recomputed sum of the seek activity values is determined to be less than the computed sum of the seek activity values, then at least one simulated mirror policy change is implemented.
At least one simulated mirror policy change may be made by selecting a most active one of the physical devices based on the computed seek activity values, selecting a most active one of the logical volumes residing on the selected most active one of the physical devices based on the associated-activity level, modifying a mirror policy associated with the selected one of the logical volumes to reduce the seek activity value for the selected one of the physical devices and recomputing the seek activity values for the selected one of the physical devices and another one of the physical devices which stores a mirrored copy of the most active one of the logical volumes.
At least one simulated policy change may include a plurality of simulated policy changes. The plurality of simulated policy changes may be repeated a predetermined number of times.
The use of the seek activity values to minimize seek activity for non-mirrored ones of the physical devices may repeat until a predetermined time interval has expired or, alternatively, until the recomputed sum is zero.
The recomputed sum may include a factor equal to an average of the activity levels of the logical volumes.
The seek adjustment mechanism of the invention offers several advantages. It provides for both device-specific seek reduction as well as seek balancing in a data storage system that employs non-physical mirroring techniques. To minimize seeks for a physical device in such a non-physical mirrored environment, the seek adjustment mechanism uses a seek function that takes into account the activity levels of and distances between the logical volumes residing on the physical device. At the same time, the mechanism determines the impact that a particular mirror policy change will have on storage devices other than the two storage devices involved in that mirror policy change. It does so by examining mirror policy changes likely to follow (predicted future policy changes) and determining if there is continued improvement in overall seek reduction over the course of those predicted future changes.